export default {
  // 命名空间作用：能够让辅助函数，指定模块，进行属性映射

  namespaced: true,
  state: {
    name: "产品:product",
    productData: [],
  },
  actions: {
    //async  异步  await 等待异步promise结果
    //async  函数内部使用await可以将异步的代码变成‘同步执行的顺序

    async FETCH_PRODUCT({ commit }) {
      let res = await fetch("http://chst.vip/data/index.json").then((body) =>
        body.json()
      );
      console.log(res);
      // 提交给mutation进行修改
      commit("SET_PRODUCT", res.data);
    },
  },
  getters: {},
  mutations: {
    //加入到购物车的方法
    SET_PRODUCT(state, payload) {
      state.productData = payload;
    },


    //库存减少
    DECREASE_INVENTORY(state, payload) {
      //需要知道哪一个数据的库存在减少
      console.log(payload);
      let target = state.productData.find((item) => item.id === payload.id);

      if (target) { 
        target.inventory--;
      }
    },

    // 库存增加
    INCREASE_INVENTORY(state, payload){
      let target = state.productData.find((item) => item.id === payload.id);

      if (target) {
        target.inventory++;
      }
    }
  },
};
